<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Role extends Model
{
    /**
     * 可批量赋值的属性
     */
    protected $fillable = [
        'name',
        'description'
    ];

    /**
     * 获取拥有此角色的用户
     */
    public function users()
    {
        return $this->belongsToMany(User::class, 'user_roles');
    }

    /**
     * 获取角色名称的显示文本
     */
    public function getDisplayNameAttribute()
    {
        return $this->name == 'admin' ? '管理员' : '普通用户';
    }

    /**
     * 获取角色描述
     */
    public function getDescriptionAttribute($value)
    {
        return $value ?: $this->description;
    }
}
